#!/usr/bin/env python
# -*- coding: utf8 -*-
# 
#
##########################################################################################
#
#
# Responsable del codigo(no se quiere hacer cargo, pero lo presionamos)
# pablohernanjuan at hotmail dot com
# Programado en Python utilizando para la interface wxglade, editor preferido
# Geany, la base de datos Mysql. 
#
#
##########################################################################################
#
#
# Este programa es software libre; usted puede redistruirlo y/o modificarlo bajo
# los términos de la Licencia Pública General GNU, tal y como está publicada
# por la Free Software Foundation; ya sea la versión 2 de la Licencia, o (a su
# elección) cualquier versión posterior.
#
# Este programa se distribuye con la intención de ser útil, pero SIN NINGUNA
# GARANTÍA; incluso sin la garantía implícita de USABILIDAD O UTILIDAD PARA UN
# FIN PARTICULAR. Vea la Licencia Pública General GNU para más detalles.
#
# Usted debería haber recibido una copia de la Licencia Pública General GNU
# junto a este programa; si no es así, escriba a la Free Software Foundation,
# Inc. 675 Mass Ave, Cambridge, MA 02139, EEUU.
#
#
#########################################################################################

#Importamos los modulos necesarios
import wx
import MySQLdb



class Vaciar(wx.Frame):
    def __init__(self, *args, **kwds):

        kwds["style"] = wx.ICONIZE|wx.MINIMIZE|wx.CLOSE_BOX|wx.MINIMIZE_BOX|wx.MAXIMIZE|wx.MAXIMIZE_BOX
        wx.Frame.__init__(self, *args, **kwds)
        self.panel_1 = wx.Panel(self, -1)
        self.label_2 = wx.StaticText(self.panel_1, -1, u"¿Esta seguro de querer")
        self.label_3 = wx.StaticText(self.panel_1, -1, "borrar todo?")
        self.button_1 = wx.Button(self.panel_1, -1, "No")
        self.Bind(wx.EVT_BUTTON, self.OnNiEnPedo, self.button_1)
        self.button_2 = wx.Button(self.panel_1, -1, "Si")
        self.Bind(wx.EVT_BUTTON, self.OnVaciar, self.button_2)

        self.__set_properties()
        self.__do_layout()
        

    def __set_properties(self):

        self.SetTitle("Borrando, Borrando...")
        self.CenterOnScreen()
        
    def __do_layout(self):

        sizer_1 = wx.BoxSizer(wx.VERTICAL)
        grid_sizer_1 = wx.GridSizer(3, 1, 0, 0)
        grid_sizer_2 = wx.GridSizer(1, 2, 0, 0)
        grid_sizer_1.Add(self.label_2, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0)
        grid_sizer_1.Add(self.label_3, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 0)
        grid_sizer_2.Add(self.button_1, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 10)
        grid_sizer_2.Add(self.button_2, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ADJUST_MINSIZE, 5)
        grid_sizer_1.Add(grid_sizer_2, 1, wx.EXPAND, 0)
        self.panel_1.SetSizer(grid_sizer_1)
        sizer_1.Add(self.panel_1, 1, wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 0)
        self.SetSizer(sizer_1)
        sizer_1.Fit(self)
        self.Layout()

    def OnVaciar(self, event):
        # Arrancamos la conexion a la base de datos
        db = MySQLdb.connect(host='localhost',user='comic',passwd='comic',db='historietas')
        # Creamos un cursor de la misma        
        cursor = db.cursor()
        # Y ejecutamos una orden SQL que borra los datos de la base de datos, la vacia
        cursor.execute('''TRUNCATE TABLE coleccion''')
        # No nos olvidamos de cerrar el cursor
        cursor.close()
        datecuenta = wx.MessageDialog(None, u'Acabas de borrar todo lo que habia en la base de dato, si sentite mal.', u'A la mierda con los datos', wx.OK | wx.ICON_INFORMATION)
        datecuenta.ShowModal()        
        try:
            self.Destroy()
        finally:
            import menu
            ventana = menu.Menu(None, -1,"")
            ventana.Show(True)              

    def OnNiEnPedo(self, event):
        menosmal = wx.MessageDialog(None, u'Por fin alguien que usa la cabeza.', u'Menos mal', wx.OK | wx.ICON_INFORMATION)
        menosmal.ShowModal()        
        try:
            self.Destroy()
        finally:
            import menu
            ventana = menu.Menu(None, -1,"")
            ventana.Show(True)
                    

if __name__ == "__main__":
    app = wx.PySimpleApp(0)
    wx.InitAllImageHandlers()
    ventana = Vaciar(None, -1, "")
    app.SetTopWindow(ventana)
    ventana.Show()
    app.MainLoop()
